package com.badibadi.mytools;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.badibadi.infos.PersonalCenterHomePageModel;
import com.badibadi.infos.Results;
import com.badibadi.infos.User_trends_Model;
import com.test.pic.TestActivity;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;

public class CommonUtils {

	// 点赞
	/**
	 * 点赞 接口名称 praise_operate 用户的点赞人的id 提交方式$GET
	 * 
	 * @param $uid
	 *            ;//点赞人的id
	 * @param $nid
	 *            ;//被操作内容的Id
	 * @param $nuid
	 *            ;//内容所属人id
	 * @param $type赞的类型
	 *            （record_article，club，humor_trends，photo，activity）
	 * @param hander
	 *            ;
	 * @param Success
	 *            ;成功
	 * @param defalt
	 *            ;失败
	 */
	public static void dianzan(final Context context, final String uid,
			final String nid, final String nuid, final String type,
			final Handler handler, final int Success, final int defalt) {
		new Thread(new Runnable() {

			@Override
			public void run() {
				// TODO Auto-generated method stub
				String content = Utils.getRequest(Constants.BadiUrl
						+ "praise_operate?uid=" + uid + "&nid=" + nid
						+ "&nuid=" + nuid + "&type=" + type);
//				   
//						+ "type=" + type);
//				   ("数据是：" + content);
				if (content != null) {
//					   ("数据是：" + content);
					Results results = Utils.checkResult_NNN(context, content);
					if (results != null && !results.getRetmsg().equals("null")) {
//						   
						try {
							// if(results.isRet()==true)
							// view.setSelected(true);
							// else
							// {
							// Utils.showMessage(context, "点赞失败");
							// }
							handler.sendEmptyMessage(Success);
							// Utils.ExitPrgress(context);
						} catch (Exception e) {
							// TODO Auto-generated catch block
							   
						}
					} else {
						// try {
						// Utils.showMessage(context, "系统原因点赞失败");
						// Utils.ExitPrgress(context);
						// } catch (Exception e) {
						// // TODO: handle exception
						// }
						handler.sendEmptyMessage(defalt);
					}
				} else {
					// try {
					// Utils.showMessage(context, "网络错误");
					// Utils.ExitPrgress(context);
					// } catch (Exception e) {
					// // TODO: handle exception
					// }
					handler.sendEmptyMessage(defalt);
				}
			}
		}).start();

		// ((Activity)(context)).runOnUiThread(new Runnable() {
		//
		// @Override
		// public void run() {
		// // TODO Auto-generated method stub
		// Utils.showPrgress(context);
		// String content = Utils.getRequest(Constants.BadiUrl+
		// "praise_operate?uid="+uid+"&nid="+nid+"&nuid="+nuid+"&type="+type);
		//    
		//    ("数据是：" + content);
		// if (content != null) {
		//    ("数据是：" + content);
		// Results results = Utils.checkResult_NNN(context,
		// content);
		// if (results != null && !results.getRetmsg().equals("null")) {
		//    
		// try {
		// if(results.isRet()==true)
		// view.setSelected(true);
		// else
		// {
		// Utils.showMessage(context, "点赞失败");
		// }
		//
		// Utils.ExitPrgress(context);
		// } catch (Exception e) {
		// // TODO Auto-generated catch block
		//    
		// }
		// } else {
		// try {
		// Utils.showMessage(context, "系统原因点赞失败");
		// Utils.ExitPrgress(context);
		// } catch (Exception e) {
		// // TODO: handle exception
		// }
		//
		// }
		// } else {
		// try {
		// Utils.showMessage(context, "网络错误");
		// Utils.ExitPrgress(context);
		// } catch (Exception e) {
		// // TODO: handle exception
		// }
		//
		// }
		// }
		// });

	}

	static String TAG = "CommonUtils";

	/**
	 * 
	 * @param context
	 * @param netlujing
	 *            网络路径
	 * @param map
	 * @param handler
	 * @param fun_1
	 *            网络出错的时候
	 * @param fun_3
	 *            系统出错的时候
	 * @param Chenggong
	 *            返回的ret为true
	 * @param Shibai
	 *            返回的额ret为false
	 */
	public static void CommomPostfunction(final Context context,
			final String Postnetlujing, final Map<String, Object> map,
			final Handler handler, final int fun_1, final int fun_3,
			final int Chenggong, final int Shibai) {
		MyThreadTool.fixedThreadPool.execute(new Runnable() {
			@Override
			public void run() {
				// if(status==1)
//				   
				String content = Utils.sendRequest(map, Postnetlujing);
//				   
				if (content != null) {
					Results results = Utils.checkResult_NNN(context, content);
//					   

					if (results != null && !results.getRetmsg().equals("null")) {
//						   
//						   
//								"results=" + content + "  "
//										+ results.getRetmsg());
						try {

							if (results.isRet() == true) {
								Message msg = new Message();
								msg.what = Chenggong;
								Bundle bun = new Bundle();
								bun.putString("msg", results.getRetmsg());
								msg.setData(bun);

								handler.sendMessage(msg);
							} else {
								Message msg = new Message();
								msg.what = Shibai;
								Bundle bun = new Bundle();
								bun.putString("msg", results.getRetmsg());
								msg.setData(bun);

								handler.sendMessage(msg);
							}

						} catch (Exception e) {
							   
						}
					} else {
						handler.sendEmptyMessage(Shibai);
					}
				} else {
					handler.sendEmptyMessage(Shibai);
				}
			}
		});

	}

	/**
	 * 
	 * @param context
	 * @param netlujing
	 *            网络路径
	 * @param map
	 * @param handler
	 * @param fun_1
	 *            网络出错的时候
	 * @param fun_3
	 *            系统出错的时候
	 * @param Chenggong
	 *            返回的ret为true
	 * @param Shibai
	 *            返回的额ret为false
	 */
	public static void CommomPostfunction(final Context context,
			final String Postnetlujing, final Map<String, Object> map,
			final Handler handler, final int fun_1, final int fun_3,
			final int Chenggong, final int Shibai, final String handler_msg) {
		MyThreadTool.fixedThreadPool.execute(new Runnable() {
			@Override
			public void run() {
				// if(status==1)
//				   
				String content = Utils.sendRequest(map, Postnetlujing);
//				   
				if (content != null) {
					Results results = Utils.checkResult_NNN(context, content);
//					   

					if (results != null && !results.getRetmsg().equals("null")) {
//						   
//						   
//								"results=" + content + "  "
//										+ results.getRetmsg());
						try {

							if (results.isRet() == true) {
								Message msg = new Message();
								msg.what = Chenggong;
								Bundle bun = new Bundle();
								bun.putString("msg", results.getRetmsg());
								bun.putString("hmsg", handler_msg);
								msg.setData(bun);

								handler.sendMessage(msg);
							} else {
								Message msg = new Message();
								msg.what = Shibai;
								Bundle bun = new Bundle();
								bun.putString("msg", results.getRetmsg());
								bun.putString("hmsg", handler_msg);
								msg.setData(bun);

								handler.sendMessage(msg);
							}

						} catch (Exception e) {
							   
						}
					} else {
						handler.sendEmptyMessage(Shibai);
					}
				} else {
					handler.sendEmptyMessage(Shibai);
				}
			}
		});

	}

	/**
	 * 1. 删除动态接口-----POST $trendsId //动态ID $uid //操作者ID String content =
	 * Utils.sendRequest(map, Constants.BadiUrl_1 + "commonality/deleteTrends");
	 */

	/**
	 * 用户举报接口----POST
	 * 
	 * @param $jubao
	 *            = array( $uid, //(必需)主动举报的用户ID $b_uid, //(必需)被举报的内容所属的用户ID
	 *            $table, //(必需)举报的类型（humor_trends：心情动态，photo：相册，record：记录（篇），
	 *            record_article：记录（记），activity：活动，club：俱乐部，discuss：评论） $tid,
	 *            //(必需)被举报的内容ID $b_cid, //若是举报俱乐部中的内容，那么俱乐部ID（个人时$b_cid=0或不传）
	 *            $jb_typeid, //(必需)举报类别ID $reasons, //（必需）举报原因 )
	 *            接口名：commonality/jubao
	 */

	/**
	 * 点赞 接口名称 praise_operate 用户的点赞人的id 提交方式$GET
	 * 
	 * @param $uid
	 *            ;//点赞人的id
	 * @param $nid
	 *            ;//被操作内容的Id
	 * @param $nuid
	 *            ;//内容所属人id
	 * @param $type赞的类型
	 *            （record_article，club，humor_trends，photo，activity）
	 * @param hander
	 *            ;
	 * @param Success
	 *            ;成功
	 * @param defalt
	 *            ;失败 类似 Constants.BadiUrl+
	 *            "praise_operate?uid="+uid+"&nid="+nid
	 *            +"&nuid="+nuid+"&type="+type
	 */
	public static void CommomGetfunction(final Context context,
			final String getnetlujing, final Handler handler, final int fun_1,
			final int fun_3, final int Chenggong, final int Shibai) {
		new Thread(new Runnable() {

			@Override
			public void run() {
				// TODO Auto-generated method stub
//				   ("CommomGetfunction：" + getnetlujing);
//				   
				String content = Utils.getRequest(getnetlujing);
				//
				if (content != null) {
//					   ("数据是：" + content);
					Results results = Utils.checkResult_NNN(context, content);
					if (results != null && !results.getRetmsg().equals("null")) {
//						   
						try {
							if (results.isRet() == true) {
								Message msg = new Message();
								msg.what = Chenggong;
								Bundle bun = new Bundle();
								bun.putString("msg", results.getRetmsg());
								msg.setData(bun);

								handler.sendMessage(msg);
							} else {
								Message msg = new Message();
								msg.what = Shibai;
								Bundle bun = new Bundle();
								bun.putString("msg", results.getRetmsg());
								msg.setData(bun);

								handler.sendMessage(msg);
							}
							// Utils.ExitPrgress(context);
						} catch (Exception e) {
							// TODO Auto-generated catch block
							   
						}
					} else {
						// try {
						// Utils.showMessage(context, "系统原因点赞失败");
						// Utils.ExitPrgress(context);
						// } catch (Exception e) {
						// // TODO: handle exception
						// }
						handler.sendEmptyMessage(fun_3);
					}
				} else {
					// try {
					// Utils.showMessage(context, "网络错误");
					// Utils.ExitPrgress(context);
					// } catch (Exception e) {
					// // TODO: handle exception
					// }
					handler.sendEmptyMessage(fun_1);
				}
			}
		}).start();

		// ((Activity)(context)).runOnUiThread(new Runnable() {
		//
		// @Override
		// public void run() {
		// // TODO Auto-generated method stub
		// Utils.showPrgress(context);
		// String content = Utils.getRequest(Constants.BadiUrl+
		// "praise_operate?uid="+uid+"&nid="+nid+"&nuid="+nuid+"&type="+type);
		//    
		//    ("数据是：" + content);
		// if (content != null) {
		//    ("数据是：" + content);
		// Results results = Utils.checkResult_NNN(context,
		// content);
		// if (results != null && !results.getRetmsg().equals("null")) {
		//    
		// try {
		// if(results.isRet()==true)
		// view.setSelected(true);
		// else
		// {
		// Utils.showMessage(context, "点赞失败");
		// }
		//
		// Utils.ExitPrgress(context);
		// } catch (Exception e) {
		// // TODO Auto-generated catch block
		//    
		// }
		// } else {
		// try {
		// Utils.showMessage(context, "系统原因点赞失败");
		// Utils.ExitPrgress(context);
		// } catch (Exception e) {
		// // TODO: handle exception
		// }
		//
		// }
		// } else {
		// try {
		// Utils.showMessage(context, "网络错误");
		// Utils.ExitPrgress(context);
		// } catch (Exception e) {
		// // TODO: handle exception
		// }
		//
		// }
		// }
		// });

	}

}